import QtQuick
import QtQuick.Layouts
import QtCharts

Rectangle {
    Layout.fillWidth: true
    Layout.fillHeight: true

    ChartView {
        id: chartView
        title: "柱形图示例"
        titleFont.bold: true
        titleFont.pointSize: 14

        anchors.fill: parent
        antialiasing: true

        BarCategoryAxis {
            id: valueAxisX
            categories: ["6月", "7月", "8月", "9月"]
            titleText: "月份"
        }

        ValueAxis {
            id: valueAxisY
            min: 0
            max: 20
            titleText: "数量"
        }

        BarSeries {
            name: "柱形图"
            axisX: valueAxisX
            axisY: valueAxisY

            // 柱形宽度（以 x 轴单位为基准），
            // 取值范围为 0 到 1，0 表示最小宽度（1像素），大于0的值会根据 x 轴比例缩放。
            // 注意：在 BarSeries 中，该值表示一组柱形的宽度。
            barWidth: 0.5

            // 设置数值标签可见
            labelsVisible: true

            // 数值标签格式，例如： "@value 万", @value是固定字符串，可追加数值单位
            labelsFormat: "@value"

            // 数值标签显示位置：在条形顶端
            labelsPosition: AbstractBarSeries.LabelsOutsideEnd

            // 数值标签显示位数， 默认值是6
            labelsPrecision: 6

            // 数值标签角度
            labelsAngle: 0

            BarSet {
                // 图例名
                label: "bar1"

                // 柱形图颜色（如有brushFilename属性，则失效）
                color : "#1296FF"

                // 背景图
                brushFilename: ":/images/bg1.png"

                // 柱形图数值标签
                labelColor: "#333"
                labelFont.family: "Courier"
                labelFont.bold: true
                labelFont.pointSize: 10

                // 边框属性
                borderColor: "#F0F0F0"
                borderWidth: 1

                // 数值
                values: [7.52, 9.21, 12.3, 8.8]
            }
            BarSet {
                label: "bar2"
                color : "#FF9612"
                labelColor: "#333"
                values: [15.12, 7.34, 10.5, 15.6]
            }
            BarSet {
                label: "bar3"
                color : "#12FF96"
                labelColor: "#333"
                values: [10.43, 9.64, 12.3, 18.5]
            }
        }
    }
}
